1. Field of the Invention
The present invention relates to a method for transmitting network packets. More particularly, the present invention relates to a method for transmitting network packets according to an order of packet sequence numbers.
2. Description of Related Art
With the progress of Internet, in order meet various usage requirements, network technology has been developed rapidly. Under a network environment of supporting tunnel routing technique, connections over Wide Area Network (WAN) form a tunnel group consisting of a plurality of tunnels. Network packets are distributed to each tunnel according to a certain strategy and then sent to the other side. The tunnel routing technique is advantageous in that if one of WAN links fails, network packets can still be transmitted through other tunnels, thus keeping a continuous network transmission. In addition, the method of using a plurality of tunnels to transmit network packets can further enhance network transmission rate. Therefore, the tunnel transmission technique meets the requirements for continuously transmitting data at a high speed.
However, since each tunnel in the tunnel group has a different network status, when a receiving end receives the network packets, network packets may be reordered. For example, if the transmitting end transmits packets with sequence numbers of 1-4 sequentially, the packet with the sequence number of 2 is delayed due to network congestion, such that the receiving end receives the packets with sequence numbers of 1, 3, 4 sequentially. When receiving the packet with sequence number of 1, the receiving end sends out an acknowledgment directed to the packet with sequence number of 1 to the transmitting end. Later, when receiving the packets with sequence numbers of 3, 4, the receiving end also sends out an acknowledgement directed to the packet with sequence number of 1. After receiving the acknowledgement directed to packet with sequence number of 1 three times successively, the transmitting end determines that the packet with sequence number of 2 is lost, and retransmits the packet with sequence number of 2. However, actually, the packet with sequence number of 2 is not lost during transmission. The unnecessary retransmission occupies network resources, and reduces the network transmission efficiency.
Furthermore, for some streaming application services emphasize the order of the network packets, if the network packets cannot be received in sequence, the service quality is greatly negatively influenced.